﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Dominio;
using Interfaces;
using Persistencia;

namespace Obligatorio1
{
    public partial class VentanaMantenimiento : Form
    {
        private int _idTanque;
        private Tanque TanqueActual;

        public VentanaMantenimiento(Tanque idTanque)
        {
            InitializeComponent();
            _idTanque = idTanque.idTanque;
            TanqueActual = idTanque;
        }

        private void VentanaMantenimiento_Load(object sender, EventArgs e)
        {
            fechaHoraDateTimePicker.Format = DateTimePickerFormat.Custom;
            fechaHoraDateTimePicker.CustomFormat = "dd-MM-yyyy hh:mm";  

        }

        private bool Validar()
        {
            int IDManual;
            if (!Int32.TryParse(textBoxIdManual.Text, out IDManual))
            {
                MessageBox.Show("Error. Ingrese un numero en el ID");
                return false;
            }
            int cantidadLitros;
            if(!Int32.TryParse(cantidadLitrosTextBox.Text,out cantidadLitros)){
                MessageBox.Show("Error. Ingrese un numero en la cantidad de litros");
                return false;
            }
            if (Int32.Parse(cantidadLitrosTextBox.Text) < 0)
            {
                MessageBox.Show("Error. Ingrese un numero de litros mayor a cero");
                return false;

            }
            ITanque tanques=new ImpITanque();
            if(!tanques.EsCantidadNuevaSuperiorCapacidad(TanqueActual,Int32.Parse(cantidadLitrosTextBox.Text))){
                MessageBox.Show("Error. La cantidad nueva de litros supera la capacidad del tanque. Ingrese una cantidad inferior");
                return false;
            }
            return true;
        }

        private void guardarButton_Click(object sender, EventArgs e)
        {
            if (Validar())
            {
                ITanque tanques = new ImpITanque();
                tanques.AgregarContenidoATanque(TanqueActual, fechaHoraDateTimePicker.Value, Int32.Parse(cantidadLitrosTextBox.Text), Int32.Parse(textBoxIdManual.Text));
                this.Dispose();
            }
        }

    }
}
